<?php

function _get_real_ip(){
		 $realip = NULL;
	    if ($realip !== NULL){
	        return $realip;
	    }
	    if (isset($_SERVER)){
	        if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
	            $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
	            /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */
	            foreach ($arr AS $ip){
	                $ip = trim($ip);
	 
	                if ($ip != 'unknown'){
	                    $realip = $ip;
	 
	                    break;
	                }
	            }
	        }
	        elseif (isset($_SERVER['HTTP_CLIENT_IP'])){
	            $realip = $_SERVER['HTTP_CLIENT_IP'];
	        }
	        else{
	            if (isset($_SERVER['REMOTE_ADDR'])){
	                $realip = $_SERVER['REMOTE_ADDR'];
	            }
	            else{
	                $realip = '0.0.0.0';
	            }
	        }
	    }
	    else{
	        if (getenv('HTTP_X_FORWARDED_FOR')){
	            $realip = getenv('HTTP_X_FORWARDED_FOR');
	        }
	        elseif (getenv('HTTP_CLIENT_IP')){
	            $realip = getenv('HTTP_CLIENT_IP');
	        }
	        else{
	            $realip = getenv('REMOTE_ADDR');
	        }
	    }
	 
	    preg_match("/[\d\.]{7,15}/", $realip, $onlineip);
	    $realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';
	    return $realip;   
	}
	
//js 验证强度
function getStrength(passwd){
    var intScore = 0;
    if (passwd.match(/[a-z]/)) // [verified] at least one lower case letter
            {
            intScore = (intScore+1)
            } if (passwd.match(/[A-Z]/)) // [verified] at least one upper case letter
            {
            intScore = (intScore+5)
            } // NUMBERS
            if (passwd.match(/\d+/)) // [verified] at least one number
            {
            intScore = (intScore+5)
            } if (passwd.match(/(\d.*\d.*\d)/)) // [verified] at least three numbers
            {
            intScore = (intScore+5)
            } // SPECIAL CHAR
            if (passwd.match(/[!,@#$%^&*?_~]/)) // [verified] at least one special character
            {
            intScore = (intScore+5)
            } if (passwd.match(/([!,@#$%^&*?_~].*[!,@#$%^&*?_~])/)) // [verified] at least two special characters
            {
            intScore = (intScore+5)
            } // COMBOS
            if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/)) // [verified] both upper and lower case
            {
            intScore = (intScore+2)
            } if (passwd.match(/\d/) && passwd.match(/\D/)) // [verified] both letters and numbers
            {
            intScore = (intScore+2)
            } // [Verified] Upper Letters, Lower Letters, numbers and special characters
            if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/) && passwd.match(/\d/) && passwd.match(/[!,@#$%^&*?_~]/))
            {
            intScore = (intScore+2)
            }
            return intScore;
}